package net.ewon.avatar.agent;

import java.util.List;

import net.ewon.avatar.agent.exception.OperationFailureException;
import net.ewon.avatar.common.pkg.AvatarPackageFile;
import net.ewon.avatar.common.pkg.Version;

public interface AvatarPackageRepo {
	
	public String getNormalizedBaseLocation();

	/**
	 * Check whether the avatar package with the specified name&version exists
	 * in the repository or not.
	 * 
	 * @param name
	 * @param version
	 * @return
	 */
	public boolean exists(String name, Version version);
 
	/**
	 * Install the avatar package files to repository. 
	 * @param avatarPackageFiles
	 * @throws OperationFailureException
	 */
	public void install(List<AvatarPackageFile> avatarPackageFiles)
			throws OperationFailureException;

}
